package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 配置类：用于创建AliOss对象
 */
@Slf4j
@Configuration
public class OssConfiguration {
  @Bean
  @ConditionalOnMissingBean // 项目启动时加载：当IOC中没有这个bean的时候再创建，保证只有一个AliOssUtil的bean对象
  public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) { // AliOssProperties 通过ConfigurationProperties自动注入
    log.info("初始化阿里云OSS工具类：{}", aliOssProperties);
    return new AliOssUtil(aliOssProperties.getEndpoint(),aliOssProperties.getAccessKeyId(),aliOssProperties.getAccessKeySecret(),aliOssProperties.getBucketName());
  }
}
